package com.carrental.crm.vo;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 优惠券视图对象
 */
@Data
public class CouponVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 优惠券名称
     */
    private String name;

    /**
     * 优惠券类型（1-满减券，2-折扣券，3-直减券）
     */
    private Integer type;

    /**
     * 优惠券类型名称
     */
    private String typeName;

    /**
     * 优惠金额
     */
    private BigDecimal amount;

    /**
     * 折扣率
     */
    private BigDecimal discountRate;

    /**
     * 使用门槛（满多少金额可用）
     */
    private BigDecimal threshold;

    /**
     * 适用车型，多个车型ID用逗号分隔
     */
    private String applicableVehicles;

    /**
     * 适用车型名称列表
     */
    private String applicableVehicleNames;

    /**
     * 适用门店，多个门店ID用逗号分隔
     */
    private String applicableStores;

    /**
     * 适用门店名称列表
     */
    private String applicableStoreNames;

    /**
     * 有效期开始时间
     */
    private LocalDateTime startTime;

    /**
     * 有效期结束时间
     */
    private LocalDateTime endTime;

    /**
     * 优惠券状态（1-未发放，2-已发放，3-已过期）
     */
    private Integer status;

    /**
     * 优惠券状态名称
     */
    private String statusName;

    /**
     * 发放数量
     */
    private Integer issueCount;

    /**
     * 使用数量
     */
    private Integer usedCount;

    /**
     * 优惠券描述
     */
    private String description;

    /**
     * 创建人ID
     */
    private Long creatorId;

    /**
     * 创建人姓名
     */
    private String creatorName;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
} 